﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Input;
using GameEngine;

namespace GameBoardViewer.Common
{
    public enum enumButtonEvent { Nothing, LeftPressed, LeftReleased, RightPressed, RightReleased };

    public interface IMainBoard
    {
        void SetCapture(IBoardControl control);
        void ReleaseCapture();
        void AddMove(Move move);
        void ClickOnField(Position pos, bool leftButton);



        bool InEditMode
        { get; }

        int GameBoardWidth
        { get; }

        int GameBoardHeight
        { get; }
    }

    public interface IBoardControl
    {
        bool Update(MouseState mouse);

        void OnLButtonDown(Microsoft.Xna.Framework.Point point);
        void OnLButtonUp(Microsoft.Xna.Framework.Point point);
        void OnMouseMoving(Microsoft.Xna.Framework.Point point);
        void OnRButtonDown(Microsoft.Xna.Framework.Point point);
        void OnRButtonUp(Microsoft.Xna.Framework.Point point);
    }

    public class GameMoveDoneEventArgs
    {
        public Move move = null;
    }

    public delegate void GameMoveDelegate(object sender, GameMoveDoneEventArgs e);

}
